home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Our Solar System
/
Our Solar System.iso
/
simul
/
sfs0002
/
sfs.doc
< prev
next >
Wrap
Text File
|
1989-07-31
|
25KB
|
601 lines
Documentation for Space Flight Simulator,
Version 0.02
Copyright (c) 1989, Ted A. Campbell,
Bywater Software
0 Program Description
-------------------
0.1 General Description
-------------------
The Space Flight Simulator, version 0.02, allows users to
set a number of orbital parameters, then depicts the orbital
focus (typically the earth) or the ground track of the orbit
in real-time simulation.
0.2 Hardware Requirements
---------------------
CPU and Coprocessor: The program will run under MSDOS
or PCDOS on any of the 8088 and upwardly-compatible
CPUs. Speed of the processor is critical in this program.
The presence of a math coprocessor will be automatically
detected by the program, and will also greatly enhance
the performance of the program.
Graphics: The program should work with CGA (very
poorly), Hercules (tm), EGA, or VGA graphics. The
program automatically detects these graphics systems,
except the Hercules-type cards. For systems with
Hercules-compatible graphics, you must run the program
"msherc.com" first.
1 Running the Program
-------------------
To run the program on computers with CGA, EGA, and VGA
graphics, simply type
sfs
followed by a carriage return. To run the program on a
computer with Hercules graphics, you must first run the
program "msherc." The following commands will run the
program with Hercules graphics:
msherc<RET>
sfs<RET>
The program will display the log-in sign for the
Bywater ANSI VDI implementation, then the SFS logo
(which will remain on the screen for 10 seconds).
You will then be given the opportunity to set
parameters.
Note for advanced users: You can also specify the name of
an SFS focal data file (see below) on the SFS command
line. For instance,
sfs moon
will start the program using "moon.fd" for its initial
focal data (do not add the ".fd" extension when specifying
a focal data file on the command line).
2 Setting the Initial Parameters
------------------------------
The initial parameters screen allows you access
to three sub-screens. At this point you can press
"O" (lower or upper case) for the Orbital Parameters
screen, "I" for the insertion parameter screen, or
"S" for the system parameters screen. You can enter
these sub-screens repeatedly in order to get the
parameters just the way you want them.
For each of the three parameters sub-screens, default
values are given. You can either enter a new value
or simply hit "RETURN" to accept the default.
From the main parameters screen you also have the option
of pressing "X" to exit the program, or of pressing
"RETURN" (or "ENTER") to begin program execution with
the currently-set parameters.
2.1 Orbital Parameters
------------------
The "O" option from the main parameters screen brings
up the orbital parameters screen. This screen allows you
to set your own parameters for the orbit you want the
Space Flight Simulator to simulate.
When you first enter the Simulator, the file "earth.fd"
is taken as the default focal data file (see below for an
explanation of this file), and orbital default orbital
parameters are calculated.
Orbits are traditionally described by six parameters,
or "elements," which are:
the semimajor axis,
the eccentricity,
the period,
the inclination,
the argument of the periapsis, and
the longitude of the ascending node.
The Space Flight Simulator calculates each of these
parameters, but does so on the basis of a file of
information on the orbital focus, the orbital periapsis,
and the orbital apoapsis. On the basis of the mass of
the focus and the radius of the focus (given in the
focal data file), together with the apoapsis and the
periapsis, the semimajor axis, eccentricity, and period
can be calculated.
What this means for you is that you only need to know
the orbital focus (which planet or other object you
want to orbit), and the maximum and minimum altitudes
of the orbit. On the basis of these, the first three
classical orbital elements will be calculated.
2.1.1 SFS Focal Data File
Default: earth.fd
The "focus" of the orbit is the object around which
the orbit will go. The focus may be a planet (the earth),
or a planetary satellite (the moon). A Space Flight Simulator
"Focal Data" file is a file that contains some specific
information on an orbital focus. Although the default
focal data file is "earth.fd" (for selecting a terrestrial
orbit), some other focal data files are supplied with
SFS version 0.02, and can be supplied at this point:
mercury.fd
venus.fd
earthb.fd
moon.fd
mars.fd
jupiter.fd
saturn.fd
uranus.fd
neptune.fd
pluto.fd
None of these will be as interesting as "earth.fd," or "moon.fd,"
though, because surface features have not been mapped for the
other foci (in fact, "earthb.fd" is a focal data file for the earth
which wll represent it as a blank. This is much faster,
but of course very dull. It can be used if you want to see
how a given orbit will plot.)
Notes for Advanced Users: The focal data file is an ASCII
text file which includes the following data, each on a
line by itself (all examples are from "earth.fd"):
The name of the focus
(example: "Earth")
An adjective describing the focus
(example: "terrestrial")
The radius of the focus in kilometers
(example: "6378")
The mass of the focus in units of the earth's mass
(example: "1.0")
The period of a sidereal year in seconds
(example: "86164")
The name of an SFS surface-features data file
(example: "earth.sd")
If you know these data for other astronomical objects,
you can try entering them.
The surface features data file is also an ASCII text
file, giving latitude and longitude points along with
an initial code for each point telling whether it is
the beginning of a new line to be drawn, what kind
of surface feature the line is to describe, and
what level of precision the point describes. There
are three surface-features data files supplied with
SFS version 0.02: "earth.sd," "moon.ds," and "null.sd."
The earth file contains about 2100 points roughly describing
continental coastlines and islands, and is based on the "Micro
World Database" distributed independently. The "moon.sd" file
is a very rough rendering of major near-side maria and a few
very large craters. The "null" file simply draws a line along
the central meridian and a dashed aline along its opposite meridian.
2.1.2 Orbital Periapsis
Default: 0.1 x the radius of the focus
The "periapsis" (also referred to by the specific term "perigee"
for terrestrial orbits) is the lowest point in an orbit. You can
specify any positive number of kilometers for the periapsis,
although you might remember that orbits below about 250 kilometers
begin to run into serious problems with atmospheric drag.
(SFS does not account for atmospheric drag.)
2.1.3 Orbital Apoapsis
Default: 4 x the radius of the focus
The "apoapsis" (also referred to by the specific term "apogee"
for terrestrial orbits) is the highest point in an orbit. You can
specify any positive number of kilometers greater than or
equal to the periapsis. An orbit having an equal apoapsis and
periapsis will be perfectly circular; all other orbits will
be elliptical. The greater the difference between the
two, the greater will be the "eccentricity" of the
orbital ellipse.
You might remember, as a rule of thumb in setting terrestrial
orbital altitudes, that the altitude of the moon is 378,014
kilometers, and this can serve as a practical limit for
terrestrial orbits, since orbits beyond this range would be
controlled more by the gravitational effect of the sun than
by the earth.
2.1.4 Orbital Inclination
Default: 25 degrees
The "inclination" of an orbit is the amount that the orbit
is inclined or "tilted" away from the equator of the
orbital focus. The inclination must be specified in
degrees between 0 and 180. An orbit having an inclination
of 0 is "equatorial," that is, it follows the equator of
the orbital focus. An orbit with an inclination of 90
degrees is "polar," that is, it will go over the north and
south poles of the orbital focus every orbit.
Program limitation: Although you can specify any inclination
(between 0 and 180), the SFS visual simulation sometimes
has trouble with orbits over polar regions, due to the
author's lack of experience in spherical trigonometry. You
may see the orbital focus appear to careen wildly when the
spacecraft is over the poles. Sorry. Our technical
advisors are looking into the matter...
2.1.5 Argument of the Periapsis
Default: 0 degrees
The next two orbital parameters are somewhat more difficult
to understand, but you can learn about them by experimenting
with different settings.
The "argument of the periapsis" is the point in the orbit
where periapsis occurs, measured in degrees (0-360) from
the point of the "ascending node," which is the point in the
orbit where the ground track crosses the equator, moving
in a northward direction.
For a non-equatorial orbit, the argument of the periapsis
will have the following general effects:
0 Periapsis will occur at the point over the equator
where the spacecraft crosses it heading northward,
and apoapsis will occur at the point over the
equator where the spacecraft crosses it heading
southward (0 is the default setting).
90 Periapsis will occur at the northernmost point in
the orbit, and apoapsis will occur at the southern-
most point.
180 Periapsis will occur at the point over the equator
where the spacecraft crosses it heading southward,
and apoapsis will occur at the point over the
equator where the spacecraft crosses it heading
northward.
270 Periapsis will occur at the southernmost point in
the orbit, and apoapsis will occur at the northern-
most point.
2.1.6 Longitude of the Ascending Node
Default: 0 degrees longitude
The "longtude of the ascending node" is the point on the
focal equator at which ascending node occurs. For SFS,
the longitude of the ascending node is specified in degrees
(-180 to 180), with west negative and east positive.
The longitude of the ascending node changes each orbit,
so what you are setting here is the longitude for the
first orbit.
SFS calculates orbits beginning at periapsis, consequently,
you can change either the argument of the periapsis or
or the longitude of the ascending node (or the insertion
parameter -- see below) to change what portion of the
focus you will see when the program begins.
Examples: (a) The default settings have the argument
of the periapsis at 0 degrees (periapsis over the equator),
and the longitude of the ascending node at 0 degrees.
For a terrestrial orbit (the default), this means that
the orbit will begin at latitude 0, longitude 0, which
is just off the coast of West Africa. The orbital
direction will be northeastward, so you will first see
the African continent, the Mediterranean Sea, and
Europe beyond them. (b) By retaining all the default
settings except the longitude of the ascending node,
and by setting it to -120 degrees, the orbit will
begin at periapsis over the equator, latitude 0 and
longitude -120, which is just off of the western coast
of Central American. Since, again, the orbital direction
is northeastward, you will first see Mexico and North
America in the visual display.
2.2 Insertion Parameter
-------------------
Default: 9 x the screen update period (in seconds)
The "point of insertion" is the moment in the first orbit
when the orbit begins (imagine a rocket or spaceplane delivering
a spacecraft to a certain altitude where the spacecraft would
take up the orbital track -- this would be the point of
insertion). The moment of insertion is specified in
seconds from periapsis, and is limited by the orbital
period (which is given on this screen).
Example: If you want to begin by seeing the orbital focus
from apoapsis, specify the insertion moment as one half of
the orbital period. If the period is 60000 seconds, set
the moment of insertion to 30000 seconds and you will be
inserted at apoapsis.
Program Limitation: SFS has to calculate a certain number
of orbital position points before it can begin a visual
display. Consequently, the earliest insertion point you
can specify is 9 times the screen update period. When
the screen update factor is 15 (the default), the earliest
insertion moment is 135 seconds (2 minutes, 15 seconds)
into the orbit.
Note: Setting orbital parameters will affect a recalculation
of the orbital period. Moreover, resetting the screen update
interval (see below) may force the program to increase
the moment of insertion to 9 times the (new) screen update
interval. If setting the insertion parameter is critical,
set it after the orbital and system parameters have been set,
so that the insertion parameter screen will show the correct
orbital period.
2.3 System Parameters
-----------------
The system parameters screen allows you to set three parameters
controlling the manner in which calculations are made and the
screen is updated. Note that you can also change the system
parameters later, while the program is running, but it is best
to specify system parameters from the beginning.
2.3.1 Time Factor
Default: 1 x real time
The "time factor" is the ratio of flight time to real time.
If the time factor is set to one (the default), the program
will try to run in real time). If the time factor is
set to two, the program will calculate two flight seconds
for every real second, and so forth. Increasing the time
factor allows you to speed up the orbital progress.
The time factor and the screen update interval are closely
related (see below).
The time factor affects the apparent "roughness" of the
visual simulation image. For real-time calculation,
this is usually nominal, but for higher factors (especially
when the orbital period is relatively low), a too-high
time factor can result in serious distortion of the
image. If the earth appears as a deflated balloon or a
dried prune, you've probably set the time factor too high.
2.3.2 Screen Update Interval
Default: 15 seconds
The "screen update interval" denotes the number of flight-
time (not necessarily real-time) seconds between each update
of the screen. This parameter, then, is contingent on the
time factor (see above): if the time factor is set to 1
(the default) and the screen update interval is set to
15 seconds (the default), then the program will try to
update the screen every fifteen seconds in real time.
If, however, the time factor is set to 2 and the screen
update interval is still set at 15 seconds, the program
will attempt to update the screen every 7 or 8 real-time
seconds (corresponding to 15 flight-time seconds).
You need to find out, by experimentation, what the best ratio
is for your computer system for the relationship between
the time factor and the screen update interval. The
default 1:15 ratio works nominally on a computer with
a 10 mhz 8088 CPU and no math coprocessor. An 80286
machine with a math coprocessor can easily make a 1:5
ratio (e.g., you could set the time interval to 4 and
the screem update interval to 20 seconds, and the
screen will be updated every 5 real-time seconds). Slower
computers may not be able to keep up with the 1:15 ratio.
2.3.3 Trig Precision Level
Default: 1 (fast)
The "trig precision level" specifies the level of accuracy
at which trigonometric functions are calculated by the
program. Trig functions take up most of the processing time
for the program, so by default SFS utilizes a look-up table
for calculating trig functions. By specifying "2 (precise),"
however, you can force the program to perform much more
accurate (and much slower) trig calculations. The
look-up tables work acceptably well, so I would recommend
setting the trig precision level to 2 only if you have
a math coprocessor.
3 Program Screens and Options
---------------------------
3.1 Initial Calculations
--------------------
After you hit <RETURN> from the main parameters screen, the
program will begin a series of initalizations and initial
calculations. The latitude and longitude grids will be set
up in the computer's memory, and the surface data file will
be read into memory. Then the computer will figure two
iterationss of calculations before it beeps, denoting that orbital
insertion is about to occur.
It is possible to press <ESCAPE> while the initial calculations
are being made. You will be given a menu from which you can
(a) toggle between the ground track and vidual simulation
modes (neither will be displayed until all the initial calcula-
tions have been completed, but this allows you to specify the
ground track as the initial display instead of the visual
simulation, which is the default), (b) reset the system
parameters, or (c) exit from the program.
3.2 The Control Panel Display
-------------------------
After orbital insertion occurs, you will be shown the visual
simulation, or the ground track display if you have chosen it.
In either of these screens, there is a control panel on the
left hand side with some specific information in it. This
control panel is subdivided into three subpanels.
The "Focus" panel at the top has the following fields:
(a) "Fo:" gives the name of the orbital focus, and (b) "La:"
and (c) "Lo:" give the latitude and longitude of the "sub-
satellite point" (SSP), that is, the point on the surface
of the orbital focus directly underneath the spacecraft in
its current orbital position. The "La:" and "Lo:" fields
will change each time the screen is updated (except for a
focal-centric orbit).
The "Relation" panel in the middle gives information on
the relation between the spacecraft and the orbital focus.
(a) The "Or:" field shows the number of the current orbit
(beginning with 1), and (b) the "Al:" field shows the altitude
of the spacecraft above the surface of the focus in its current
position. The "Al:" field will change for each screen update
for elliptical (non-circular) orbits.
The "Timing" panel at the bottom shows three sets of timing
information: (a) the "Ti:" field shows Coordinated Universal
Time (UTC) for the simulated spaceflight. (UTC is calculated
on the basis of your computer's internal clock and the global
environmental variable TZ which sets your time zone. See "Note
for advanced users" below.) Note that although the program
tries to calculate the actual UTC time for orbital insertion,
the "Ti:" field is updated from that point with the simulated
flight time, not real time (that is, if the time increment is 2,
this clock will be incremented 2 seconds for every real-time
second). (b) The "Da:" field gives the number of days elapsed
in the flight (beginning with 0), and (c) "El:" gives the amount
of time (hours, minutes, seconds) elapsed in the flight. This
too is simulated flight time. The "Ti:" and "El:" fields should
be updated with every screen update, and the "Da:" field should be
updated every time the "El:" clock passes 24 hours.
Note to Advanced Users: If you want the system to set UTC correctly
based on your internal clock, you need to set the environmental
variable TZ before running the program. A sample command, which
might be included in your autoexec.bat file would be:
set TZ=EST5EDT
which would set the system for the Eastern time zone of the U.S.
Other North American settings would be:
set TZ=CST6CDT
set TZ=MST7MDT
set TZ=PST8PDT
for Central, Mountain, and Pacific time zones, respectively.
3.3 The Visual Simulation Display
-----------------------------
The visual simulation is the default display for the Space Flight
Simulator, and will appear at first unless you specifically request
the ground track display by hitting <ESCAPE>-G while the initial
calculations are being performed. The entire screen to the right
of the control panel will be used to display the image. The latitude
and longitude grid will be shown with finely dotted lines (blue,
on color systems), and surface features will be shown with complete
lines (green, on color systems). If the focal data file specifies
"null.sd" as the surface features data file, the only surface features
visible will be the central meridian (a connected line), and its
opposite meridian (longitude -180; a dashed line). Note that the
visual simulation display will grow smaller as the altitude increases.
The program attempts to keep the current direction pointed to by
the spacecraft at the top of the visual simulation screen.
3.4 The Ground Track Display
------------------------
The ground track display shows the track of the spacecraft laid
out on a flat ground map. (On color systems, the ground track will
be shown as a red line.) You can switch to the ground track display
while the program is running by hitting <ESCAPE>-G. (Return to
the visual simulation with <ESCAPE>-V.)
If you watch long enough to see more than one orbit, you will
probably notice how the second orbit begins at a different
longitudinal point than the first (a new longitude of the ascending
node). For polar orbits, you may notice strange patterns in
the polar regions, due to the distortion of the flat map. For
highly eccentric orbits, you may notice some really odd ground
tracks (retrograde motion and the like).
At the bottom of the ground track display there is a panel showing
the six classical orbital elements for the orbit you have chosen.
3.5 Changing System Parameters with Program Running
-----------------------------------------------
As mentioned above, it is possible, though not highly desirable,
to change the system parameters (time factor, screen update interval,
and trig precision) while the program is running. Two matters
should be noted about in-flight changes in the system parameters:
(a) it may take as many as eight screen updates (one complete
calculation iteration) before the changes take effect, and (b)
you may notice a time lag (if you have increased the time factor)
or a lengthy pause (if you have decreased the time factor) following
such a reset in the system parameters.
Remember to try to maintain the ratio between the time factor
and the screen update interval that is appropriate to the speed
of your system. Watch the status line at the top of the screen:
a time lag does not necessarily mean that the system cannot keep
up, but a consistently increasing time lag does.
4 Use and Copying of the Space Flight Simulator
---------------------------------------------
Individuals may freely copy and share the Space Flight Simulator,
version 0.02, for their own instructional and recreational use.
A minimal fee may be charged for copying the program and for media.
Educational and other non-profit organizations may copy and use
the program freely, but under no circumstances may it be used
by defense agencies or defense contractors in any country.
Users and distributors of the program must not use it commercially,
and must not remove or alter its copyright notices.
Note that these restrictions do not apply to the file "earth.sd,"
which is based on the "Micro World Database" and whose data is,
as I understand it, in the public domain.
5 Communications
--------------
Ted A. Campbell
Bywater Software
1 August 1989
Genie: T.CAMPBELL1
Usenet: tcamp@dukeac.ac.duke.edu
...!{ethos,ecsgate}!dukeac!numen!tcamp
Mail: Ted A. Campbell
Bywater Software
Box 4023
Duke Station
Durham, NC 27706